<?php 
	
	require_once("../../util/util.php");
	require_once("regras/negocio/contasPagarNegocio.php");
	$objNegocio = new ContasPagarNegocio();
	
	if($acao == "CADASTRAR"){	
		
		if($_POST){
			
			$arrayDados = array();
			$arrayDados['fornecedor'] = $_POST["ddlfornecedor"];
			$arrayDados['data']       = $_POST["txtdataParcela"];
			$arrayDados['valor']      = $_POST["txtvalor"];
			$arrayDados['tparcelas']  = trim($_POST["txtparcelas"]);
			$arrayDados['parcelas']   = $_POST["txtvalorParcela"];
			$arrayDados['natureza']   = $_POST["ddlnatureza"];		
			
			Util::begin();
			list($retorno,$idMovimento) = explode("$",$objNegocio->adicionarMovimentoContasPagar($arrayDados));			
			if($retorno){
				
				$retorno = $objNegocio->adicionarTitulosContasPagar($arrayDados,$idMovimento);
				
				if($retorno){
					Util::commit();
					echo "<script type='text/javascript'>window.location='contaspagar.php?msg=sucesso'</script>";	
				}else{
					$class    = "erro";
					$mensagem = "falha ao tentar cadastrar titulo";
				}
								
			}else{
				$class    = "erro";
				$mensagem = "falha ao tentar cadastrar movimento";
			}
			
			Util::rollback();		
		}
		
		$fornecedores     = Util::retornarFornecedores();
		$naturezaOperacao = Util::retornarNaturezaOperacao();
		
	}elseif($acao == "ATUALIZAR"){
	
	}elseif($acao == "EXCLUIR"){
	
	}elseif($acao == "BAIXAR-TITULO"){	
		
		if($_POST){
			
			$arrayDados = array();
			$arrayDados["desconto"]   = Util::moedaBd(trim($_POST["txtdesconto"]));
			$arrayDados["acrescimo"]  = Util::moedaBd(trim($_POST["txtacrescimo"]));
			
			$valorpagar = ((Util::moedaBd($_POST["txtapagar"]) + $_POST["hdvalorpago"]) + $arrayDados["desconto"]) + $arrayDados["acrescimo"];
			
			$arrayDados["apagar"]     = Util::moedaBd($_POST["txtapagar"]);
			$arrayDados["hdcodigo"]   = $_POST["hdcodigo"];
			$arrayDados["valorTotal"] = $_POST["hdvaltotal"];			
			
			if($arrayDados["desconto"] == 0 && $arrayDados["acrescimo"] == 0 && Util::moedaBd($_POST["txtapagar"]) > $_POST["hdvaltotal"]){
				
				$class    = "erro";
				$mensagem = "valor a pagar maior que valor do título";
								
			}elseif($arrayDados["desconto"] > 0 && $arrayDados["acrescimo"] == 0 && ($_POST["hdvaltotal"] - $arrayDados["desconto"]) != (Util::moedaBd($_POST["txtapagar"]) + $_POST["hdvalorpago"])){
				
				$class    = "erro";
				$mensagem = "valor a pagar invalido1";				
				
			}elseif($arrayDados["acrescimo"] > 0 && $arrayDados["desconto"] == 0 && ($_POST["hdvaltotal"] + $arrayDados["acrescimo"]) != (Util::moedaBd($_POST["txtapagar"]) + $_POST["hdvalorpago"])){
				
				$class    = "erro";
				$mensagem = "valor a pagar invalido2";
			
			}elseif($arrayDados["acrescimo"] > 0 && $arrayDados["desconto"] > 0 && ((($_POST["hdvaltotal"] - $arrayDados["desconto"]) + $arrayDados["acrescimo"]) != (Util::moedaBd($_POST["txtapagar"]) + $_POST["hdvalorpago"])) ){
			
				$class    = "erro";
				$mensagem = "valor a pagar invalido3";
			
			}else{
				
				(empty($_POST["hddataPrimeiroPagamento"]))?$arrayDados["dataPP"]=date("Y-m-d H:i:s"):$arrayDados["dataPP"]=$_POST["hddataPrimeiroPagamento"];
				($valorpagar >= $arrayDados["valorTotal"])?$arrayDados["quitado"]="S":$arrayDados["quitado"]="N";						
				
				Util::begin();
				$retorno = $objNegocio->baixarTitulo($arrayDados);
				
				if($retorno){								
					
					list($retorno,$total) = explode("$",$objNegocio->verificarTituloEmAberto($arrayDados["hdcodigo"]));
					if($retorno){
				
						if($total == 0){					
							$retorno = $objNegocio->atualizarStatusMovimento($_POST["hdcodigoMovimento"]);	
						}
												
						if($retorno){
							Util::commit();
							echo "<script type='text/javascript'>window.location='contaspagar.php?msg=baixasucesso'</script>";																
						}else{
							$class    = "erro";
							$mensagem = "falha ao tentar baixar movimento";
						}
						
					}else{
							
						$class    = "erro";
						$mensagem = "falha ao tentar verificar titulos em aberto";
					}
																								
				}else{					
					$class    = "erro";
					$mensagem = "falha ao tentar baixar titulo";	
				}
				
				Util::rollback();				
			}			
			
		}
		
		$titulo = $objNegocio->retornaDadosTitulo($codigo);
		
	}else{

		$arrayDados = array();
		
		if((isset($_GET["hdPesquisar"])) && ($_GET["hdPesquisar"] == 1)){
								
			$arrayDados["fornecedor"] = $_GET["ddlfornecedor"];
			$arrayDados["de"]         = trim($_GET["txtDe"]);
			$arrayDados["ate"]        = trim($_GET["txtAte"]);
			$arrayDados["status"]     = trim($_GET["ddlStatus"]);
			$arrayDados["natureza"]   = trim($_GET["ddlNatureza"]);
			$arrayDados["tipodata"]   = trim($_GET["rdtipodata"]);
			
			$limite = 0;
			$contas = $objNegocio->retornaContasPagar($limite,$arrayDados);
		}else{									
			$contas = array();
		}
		
		$fornecedores     = Util::retornarFornecedores();
		$naturezaOperacao = Util::retornarNaturezaOperacaoGeral();
		
		//MENSAGENS DE ALERTA
		if(isset($_GET["msg"])){
			
			switch($_GET["msg"]){
				case 'sucesso':
					$mensagem = "despesa cadastrada com sucesso";
					$class    = "sucesso";
					break;
				case 'baixasucesso':
					$mensagem = "título baixado com sucesso";
					$class    = "sucesso";
					break;					
			}
		}
	}
	
	
?>